package ctrFinanceiro.dmp;

import java.io.Serializable;
import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the cfin_movimento database table.
 * 
 */
@Entity
@Table(name="cfin_movimento", schema = "financeiro")
@NamedQueries({
	@NamedQuery(name = "Movimento.findAll", query = "SELECT u FROM Movimento u WHERE u.ctaOrigem.usuario.idUsu = :p0")})
public class Movimento implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="CFIN_MOVIMENTO_IDMVT_GENERATOR",sequenceName = "financeiro.cfin_movimento_id_mvt_seq" , allocationSize = 1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="CFIN_MOVIMENTO_IDMVT_GENERATOR")
	@Column(name="id_mvt", unique=true, nullable=false)
	private Integer idMvt;

	@Column(name="mvt_baixado", nullable=false)
	private Boolean baixado;

    @Temporal( TemporalType.DATE)
	@Column(name="mvt_data", nullable=false)
	private Date data;

	@Column(name="mvt_documento", nullable=false, length=20)
	private String documento;

	@Column(name="mvt_historico", nullable=false, length=100)
	private String historico;

	@Column(name="mvt_observacao", nullable=false, length=100)
	private String observacao;

	@Column(name="mvt_transferencia", nullable=false)
	private Boolean transferencia;

	@Column(name="mvt_valor", nullable=false, precision=8, scale=2)
	private BigDecimal valor;

	//bi-directional many-to-one association to CfinConta
    @ManyToOne
	@JoinColumn(name="cta_destino", nullable=false)
	private Conta ctaDestino;

	//bi-directional many-to-one association to CfinConta
    @ManyToOne
	@JoinColumn(name="cta_origem", nullable=false)
	private Conta ctaOrigem;

    public Movimento() {
    }

	public Integer getIdMvt() {
		return this.idMvt;
	}

	public void setIdMvt(Integer idMvt) {
		this.idMvt = idMvt;
	}

	public Boolean getBaixado() {
		return baixado;
	}

	public void setBaixado(Boolean baixado) {
		this.baixado = baixado;
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public String getDocumento() {
		return documento;
	}

	public void setDocumento(String documento) {
		this.documento = documento;
	}

	public String getHistorico() {
		return historico;
	}

	public void setHistorico(String historico) {
		this.historico = historico;
	}

	public String getObservacao() {
		return observacao;
	}

	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	public Boolean getTransferencia() {
		return transferencia;
	}

	public void setTransferencia(Boolean transferencia) {
		this.transferencia = transferencia;
	}

	public BigDecimal getValor() {
		return valor;
	}

	public void setValor(BigDecimal valor) {
		this.valor = valor;
	}

	public Conta getCtaDestino() {
		return ctaDestino;
	}

	public void setCtaDestino(Conta ctaDestino) {
		this.ctaDestino = ctaDestino;
	}

	public Conta getCtaOrigem() {
		return ctaOrigem;
	}

	public void setCtaOrigem(Conta ctaOrigem) {
		this.ctaOrigem = ctaOrigem;
	}

}